﻿#region Legal

// Jimmy Zimmerman
// Team Mongoose
//
// END USER LICENSE AGREEMENT
// IMPORTANT - READ THIS CAREFULLY:  This End User License Agreement is a legal agreement
// between you (either an individual, business entity, currently active identity of an
// individual with Multiple Personality Disorder, octopus overlord, or otherworldly entity),
// and Team Mongoose, for the enclosed, components.
//
// By reading this document and/or installing this product, you agree to be bound by the
// terms of this EULA.
//
// Team Mongoose owns all copyright, trade secret, trademark, trade wars,
// patent, portent, and potential rights to these components.  Team Mongoose
// grants you the right to deploy the enclosed components.
//
// If you agree to the terms of this EULA, a license to use these components is granted to you.
//
// If you should happen to benefit from the enclosed components, then you are legally and
// contractually bound to thank us for it. Send your regards to jimmyzimms@hotmail.com.
//
// OTHER RIGHTS AND LIMITATONS
// You may not reverse-engineer, decompile, decode, disassemble, psycho-analyze, or otherwise
// attempt to find hidden meanings between the lines of this EULA; unless, of course, you should
// happen to find some, and they are funny.
//
// You may not translate this EULA or any part of the components into Ancient Sumerian.
//
// THESE COMPONENTS ARE PROVIDED “AS-IS” WITHOUT WARRANTY OF ANY KIND. ANY USE OF THE COMPONENTS
// CONTAINED IS AT YOUR OWN RISK. TEAM MONGOOSE DISCLAIM ALL WARRANTIES, EITHER
// EXPRESS OR IMPLIED, WITH RESPECT TO THE ACCURRACY AND CORRECTNESS OF THE COMPONENTS CONTAINED
// HEREIN. TEAM MONGOOSE DOES NOT WARRANT THAT THE COMPONENTS ARE FLAWLESS.
//
// REDISTRIBUTION AND USE IN SOURCE AND BINARY FORMS, WITH OR WITHOUT MODIFICATION, ARE PERMITTED
// PROVIDED THAT THE FOLLOWING CONDITIONS ARE MET:
// * REDISTRIBUTIONS OF SOURCE CODE MUST RETAIN THE ABOVE COPYRIGHT NOTICE
// * REDISTRIBUTIONS IN BINARY FORM MUST NOTE THE USE OF THE COMPONENT IN DOCUMENTATION AND/OR
//   OTHER MATERIALS PROVIDED WITH THE DISTRIBUTION.
// * NEITHER THE NAME OF TEAM MONGOOSE MAY BE USED TO ENDORES OR PROMOTE PRODUCTS
//   DERIVED FROM THIS SOFTWARE WITHOUT SPECIFIC PRIOR WRITTEN PERMISSION.
//
// IN NO EVENT SHALL TEAM MONGOOSE BE HELD LIABLE FOR INCIDENTAL, SPECIAL, INDIRECT,
// INCONSEQUENTIAL, UNBELIEVABLE, EXAGGERATED, VERBOSE, OR TYPICAL DAMAGES INCURRED WHILE USING
// THE ENCLOSED COMPONENTS.
//
// OUR STUFF ALWAYS WORKS - SOMETIMES.

#endregion

namespace Mongoose.Games.BfgRoster
{
    /// <summary>
    /// Represents the fundamental ship sizes available in BFG.
    /// </summary>
    /// <remarks>
    /// <note type="design">
    /// Normally enumerations would not be used to distinguish size classifications in an object
    /// domain model as opposed to polymorphism (e.g. a Battleship class). However, as BFG doesn't
    /// actually leverage these values outside of the targeting matrix means that polymorphism
    /// only buys us the ability to have "presets" that are completely overridable from the default
    /// anyways. As there is no behavioral difference from a battleship and an escort in the application
    /// (as opposed to the table top) an enumeration will suffice.
    /// </note>
    /// </remarks>
    public enum VesselType
    {
        /// <summary>
        /// The lightest classification of vessel. Most escorts have a single damage capacity point.
        /// </summary>
        Escort,
        /// <summary>
        /// A smaller sized variant of the cruiser type. Most light cruisers have 6 damage capacity points.
        /// </summary>
        LightCruiser,
        /// <summary>
        /// A "standard" sized ship of the line. Most cruisers have 8 damage capacity points.
        /// </summary>
        Cruiser,
        /// <summary>
        /// A cruiser sized vessel with "upgraded" weapons. It is synonymous with a "heavy cruiser".
        /// Most battle cruisers have 8 damage capacity points.
        /// </summary>
        BattleCruiser,
        /// <summary>
        /// A slightly larger version of a cruiser platform. Most grand cruisers have 10 damange capacity points.
        /// </summary>
        GrandCruiser,
        /// <summary>
        /// The largest fighting vessels in BFG. Most battleships have 12 (or more) damage capacity points.
        /// </summary>
        Battleship,
        /// <summary>
        /// An orbital (or other effectively stationary) structure. Examples would be space stations, orbital
        /// weapons platforms, space docks etc. They can be of any physical size and capacity.
        /// </summary>
        Orbital
    }
}
